package com.imooc.mapper;

import com.imooc.pojo.vo.ItemCommentVO;
import com.imooc.pojo.vo.SearchItemsVO;
import com.imooc.pojo.vo.ShopcartVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface ItemsCustomMapper {

    /**
     * 获取等级评论分页
     *
     * @param map (itemId 和 commentLevel)
     * @return
     */
    List<ItemCommentVO> listPageItemsComments(@Param("paramMaps") Map<String, Object> map);

    /**
     * 查询商品分页数据
     *
     * @param map (keywords 和 sort)
     * @return
     */
    List<SearchItemsVO> searchListPageItems(@Param("paramMaps") Map<String, Object> map);

    /**
     * 查询商品分页数据
     *
     * @param map (catId 和 sort)
     * @return
     */
    List<SearchItemsVO> searchListPageByCatId(@Param("paramMaps") Map<String, Object> map);

    /**
     * 根据规格ids查询最新的购物车中商品数据（用于刷新渲染购物车中的商品数据）
     *
     * @param specIdsList 规格ids
     * @return
     */
    List<ShopcartVO> queryItemsBySpecIds(@Param("paramsList") List<String> specIdsList);

    /**
     * 扣库存
     *
     * @param specId
     * @param buyCounts
     * @return 执行条数
     */
    Integer decreaseItemSpecStock(@Param("specId") String specId, @Param("buyCounts") Integer buyCounts);

}